﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GoogleMapsApi.Common;

namespace GoogleMapsApi.Places.Request
{
	/// <summary>
	/// The Google Places API is a service that returns information about a "place" (hereafter referred to as a Place) — defined within this API as an establishment, a geographic location, or prominent point of interest — using an HTTP request. Place requests specify locations as latitude/longitude coordinates.
	/// Two basic Place requests are available: a Place Search request and a Place Details request. Generally, a Place Search request is used to return candidate matches, while a Place Details request returns more specific information about a Place.
	/// This service is designed for processing place requests generated by a user for placement of application content on a map; this service is not designed to respond to batch of offline queries, which are a violation of its terms of use.
	/// </summary>
	public class PlacesRequest : MapsBaseRequest
	{
		/// <summary>
		/// location (required) — The textual latitude/longitude value from which you wish to retrieve place information.
		/// </summary>
		public Location Location { get; set; } //Required

		/// <summary>
		/// radius (required) — The distance (in meters) within which to return Place results.
		/// </summary>
		public double Radius { get; set; } //Required

		/// <summary>
		/// client (required) — Specifies the registered application using this service.
		/// </summary>
		public string Client { get; set; } //Required

		/// <summary>
		/// signature (required) — The generated value of signing this URL using the client's cryptographic key. (See URL Authentication for more information.)
		/// </summary>
		public string Signature { get; set; } //Required
	}
}
